package com.example.aop;

/**
 * @author yanzhao
 * @date 2022/6/16 14:24
 * @since 1.0.0
 */
public class ProxyCreatorSupport extends AdvisedSupport {

    private AopProxyFactory aopProxyFactory;

    public ProxyCreatorSupport() {
        this.aopProxyFactory = new DefaultAopProxyFactory();
    }

    public AopProxyFactory getAopProxyFactory() {
        return this.aopProxyFactory;
    }

    protected final synchronized AopProxy createAopProxy() {
        return getAopProxyFactory().createAopProxy(this);
    }
}
